// 一个模块就是一个对象(小store)

import { reqGoodsDetailInfo,reqAddShopCart } from "@/api/detail"

export default {
  state:{
    goodsDetailInfo:{}
  },
  mutations:{
    UPDATE_GOODSDETAILINFO(state,goodsDetailInfo){
      state.goodsDetailInfo = goodsDetailInfo
    }
  },
  actions:{
    async getGoodsDetailInfo({commit}){
      const res = await reqGoodsDetailInfo()
        commit('UPDATE_GOODSDETAILINFO',res[0].data)
        // console.log(res[0].data);
    },
    getAddShopCart({skuId,skuNum}){
      reqAddShopCart(skuId,skuNum)
    }
  },
  getters:{
    categoryView(state){
      // 或空对象或者数组目的是:防止组件中使用数据 数据回来之前用的undefined
      // 之后使用请求得数据时 一定要防止别有undefined得这种可能
      return state.goodsDetailInfo.categoryView || {}
    },
    skuInfo(state){
      return state.goodsDetailInfo.skuInfo || {}
    },
    spuSaleAttrList(state){
      return state.goodsDetailInfo.spuSaleAttrList || []
    }
  }
}